#include<bits/stdc++.h>
using namespace std;
#define YES cout<<"YES"<<endl;
#define NO cout<<"NO"<<endl;
const int N=2e5+5;
typedef vector<int> vi; 
#define pb push_back
typedef long long ll;
typedef long double ld; 
typedef vector<int>  vi;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
const int MOD=998244353;
int main()
{
    int n,m,k;
    vector<ll>g[n+1],f1(n+1),f2(n+1);
    cin>>n>>m>>k;
    for(int i=0;i<m;i++){
        int u,v;
        cin>>u>>v;
        g[u-1].push_back(v-1);
        g[v-1].push_back(u-1);
    }
    for(int i=0;i<n;i++){
        f1[i]=0;
    }
    f1[0]=1;
    for(int i=0;i<k;i++){
        ll s=0;
        for(int j=0;j<n;j++) s+=f1[j];
        for(int j=0;j<n;j++){
            f2[j]=s-f1[j];
            int sz=(int)g[j].size();
            for(int t=0;t<sz;t++){
                f2[j]-=f1[g[j][t]];
            }
            f2[j]%=MOD;
        }
        for(int j=0;j<n;j++){
            f1[j]=f2[j];
        }
    }
    cout<<f1[0];
}